[level 2] 멀리 뛰기 - 12914
문제 설명
효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한 번에 1칸 또는 2칸을 뛸 수 있습니다. 칸이 총 $n$개 있을 때, 끝까지 도달하는 방법의 가짓수를 구하고 이를 1234567로 나눈 나머지를 리턴하는 함수를 완성해 보세요.
예를 들어 $n=4$이면 다음과 같이 5가지 방법이 있습니다.
- (1, 1, 1, 1)
- (1, 2, 1)
- (1, 1, 2)
- (2, 1, 1)
- (2, 2)
제한 사항
- $n$은 1 이상 2,000 이하인 정수입니다.
입출력 예
| n | result |
|---|---|
| 4 | 5 |
| 3 | 3 |
입출력 예 설명
예시 1: 위에서 설명한 내용과 같습니다. 예시 2: (2, 1), (1, 2), (1, 1, 1) 총 3가지 방법으로 도달할 수 있습니다.
구현 코드
class Solution {
public long solution(int n) {
int dp[] = new int[2001];
dp[1] = 1;
dp[2] = 2;
for(int i =3; i<2001;i++){
dp[i] = (dp[i-2] + dp[i-1]) % 1234567 ;
}
return dp[n];
}
}
성능 요약
메모리: 72.2 MB, 시간: 0.25 ms
채점결과
정확성: 100.0
합계: 100.0 / 100.0